home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Add-On
/
Workbench Add-On - Volume 1.iso
/
BBS-Archive
/
Comm
/
AmiTCP30b2.lha
/
src
/
appl
/
napsaterm
/
display.h
< prev
next >
Wrap
Text File
|
1994-05-14
|
6KB
|
238 lines
/* display.h -- defines for niftyterm display routines
*
* (C) Copyright 1988, Chris Newman
* All Rights Reserved
* Permission is granted ot copy, modify, and use this as long
* as this notice remains intact. This is a nifty program.
*
* $Author: ppessi $ $Revision: 3.1 $ $Date: 1994/01/07 22:51:16 $
*/
/* emulation types */
/* similar to ANSI -- may be software switched to VT52 */
#define EMU_VT102 0
/* may be switched by software to VT102 */
#define EMU_VT52 1
/* codes from h19 program */
#define EMU_H19 2
/*******************************************
* Display Generic Routines:
*******************************************/
/* types for dscursormove() */
#define CURSOR_UP 1
#define CURSOR_DOWN 2
#define CURSOR_LEFT 3
#define CURSOR_RIGHT 4
#define BEGIN_LINE 5
#define END_LINE 6
#define NEXT_LINE 7
#define BOTTOM_HOME 8
#define SAVE_CURSOR 9
#define RESTORE_CURSOR 10
#define INDEX 11
#define DOWN1_AND_SCROLL 12
#define REVERSE_INDEX 13
#define INSERT_LINE 14
#define DELETE_LINE 15
#define INSERT_CHAR 16
#define TAB_STOP 17
void dscursormove(int move, int n);
/* see list of functions above */
void dsfunction(int what);
/* types for dsfunction */
#define ERASETO_EOL 1
#define ERASETO_EOS 2
#define ERASETO_SOL 3
#define ERASETO_SOS 4
#define ERASE_LINE 5
#define RESET_DISPLAY 6
#define SCROLL_UP 7
#define SCROLL_DOWN 8
#define ORIGIN_ON 9
#define ORIGIN_OFF 10
#define BLOCK_CURSOR 11
#define UNDERLINE_CURSOR 12
#define INVISIBLE_CURSOR 13
#define VISIBLE_CURSOR 14
#define WRAP_ON 15
#define WRAP_OFF 16
#define INSERT_ON 17
#define INSERT_OFF 18
#define SET_TAB 19
#define CLEAR_TAB 20
#define CLEAR_ALL_TABS 21
/* get the current cursor position */
void dsgetcursor(int * x, int * y);
/* set the current cursor position */
void dscursorto(int x, int y);
/* print formatted output */
void dsprintf(char *fmat, ...);
/* set the scrolling region */
void dssetscroll(int top, int bot);
/* get the size of the window */
void dsgetsize(int * x, int * y);
/* returns 0 if cursor on bottom line, otherwise
* moves cursor down a line and returns new line number.
*/
int dscheckdown(void);
/*
* Change the style to
*/
int dsstyle(int style);
#define BOLD1 1
#define BOLD0 2
#define ITALIC1 3
#define ITALIC0 4
#define UNDERLINE1 5
#define UNDERLINE0 6
#define INVERSE1 7
#define INVERSE0 8
#define HALFBRITE1 9
#define HALFBRITE0 10
#define BLINK1 11
#define BLINK0 12
#define BLANK1 13
#define BLANK0 14
#define ALTERNATE1 15
#define ALTERNATE0 16
#define DWIDTH1 17
#define DWIDTHTOP 18
#define DWIDTHBOT 19
#define DWIDTH0 20
#define STYLESOFF 255
/* these are used internally to display.c */
#define SAVE_STYLE 256
#define RESTORE_STYLE 257
/* types for dsinvert() */
#define INVERT_ON 1
#define INVERT_OFF 2
#define VISUAL_BELL 3
/*******************************************
* Display Specific Routines:
*******************************************/
/*
* Start the display, return intuition mask
*/
void dsinit(void);
/*
* Clean up window
*/
void dsquit(void);
/*
* Return intuition mask
*/
long dsmask(void);
void dspoll(void);
/*
* set window size
*/
void dssizewindow(int width, int height, int maxwidthp);
/*
* fill display with E's for testing purposes
*/
void dstestscreen(void);
/*
* delete n characters from under the cursor
*/
void dsdelete(int n);
/*
* put a string to the display.
*/
void dsputs(char *s);
/*
* high speed clear of entire screen
*/
void dsclearscreen(void);
/*
* clear a rectangular region
*/
void dsclear(int x, int y, int x1, int y1);
/*
* scroll a region
*/
void dsscroll(int y, int numlines, int amount);
/*
* Invert display
*/
void dsinvert(int invtype);
/*
* Special bells
*/
void displaybell(void);
void audiobell(void);
/*
* Cursor on/off, and flush output
*/
void dscursoron(void);
void dscursoroff(void);
void dscursorblink(void);
/*
* initialize blinking, poll blinking intervals
*/
void dscheckflash(void);
long dsflashinit(void);
/*
* set the appropriate font for given attribs & line
*/
void dssetfont(short style, int line);
/*
* keyboard functions
*/
void dskeyboard(int cmd, int val);
/* commands for dskeyboard */
#define DS_AUTOREPEAT 1 /* on if val is true */
#define DS_LEDS 2 /* val is bit pattern */
#define DS_KEYCLICK 3 /* on if val is true */
#define DS_CURSORMODE 4 /* modes for the cursor keys */
#define DS_KEYPADMODE 5 /* modes for the numeric keypad */
#define DS_KEYPADAPPMODE 6 /* on if val is true */
/* arguments for dskeyboard cursor modes */
#define CURSOR_VT100 0 /* vt100 cursor key mode */
#define CURSOR_ANSI 1 /* ansi cursor key mode */
#define CURSOR_VT52 2 /* vt52 cursor key mode */
/* arguments for dskeyboard keypad modes */
#define KEYPAD_ANSI 0 /* ansi numeric */
#define KEYPAD_VT52 2 /* vt52 numeric */
#define KEYPAD_H19 4 /* h19 numeric */
#define KEYPAD_H19S 6 /* h19 shifted numeric */
#define KEYPAD_H19ANSI 8 /* h19 ansi numeric */
#define KEYPAD_H19SANSI 10 /* h19 shifted ansi numeric */
/* Allocate display area */
void allocate_display(int width, int height);
void free_display(void);
/* Clear display buffer */
void clear_display(void);
/* tabstops */
void clear_tabstops(void);
void init_tabstops(void);
/* Display reset */
void reset_display(int soft);
/* Redrawing functions */
void redraw_line(int line);
void redraw_display(int resize);
/* Handle window size change */
int resize_display(void);